Low power and Lossy Networks (LLNs), e.g., sensor networks, have a myriad of applications, such as Smart Grid and Smart Cities. Various challenges are presented with LLNs, such as lossy links, low bandwidth, battery operation, low memory and/or processing capability, etc. One example routing solution to LLN challenges is a protocol called Routing Protocol for LLNs or “RPL,” which is a distance vector routing protocol that builds a Destination Oriented Directed Acyclic Graph (DODAG, or simply DAG) in addition to a set of features to bound the control traffic, support local (and slow) repair, etc. The RPL architecture provides a flexible method by which each node performs DODAG discovery, construction, and maintenance.
Gathering performance metrics can either be done on-demand during troubleshooting or on a regular basis to continuously monitor the performance of a network and whether or not SLAs (Service Level Agreements) are being satisfied. In “classic” IP networks, the most common approach consists of using routers as traffic generators to send stamped probes for each Class of Service (CoS) and positioned across the networks (e.g., in each Point of Presence or “POP” of Service Providers). Traffic reports are then collected periodically to monitor the network.
Unfortunately, such an approach is not suitable to LLNs. First, typical LLNs have far more devices operating with strict resource constraints than “classic” IP networks. For example, a typical LLN has 1000-5000 LLN devices that operate both as hosts and routers. Second, because of the strict resource constraints in LLNs, generating any kind of traffic must be done with care to avoid interfering with user traffic.
Existing LLN approaches involve having each device periodically (e.g., every hour) report local statistics (link reliability, frequency of routing topology changes, etc.) to a Network Management System (NMS) where data is aggregated and analyzed. Such an approach is useful but assumes that the sampling rate for local statistics is relatively static and constant across the network.